float4x4 WorldViewProjection;
float4x4 World;

// Structs
struct VS_INPUT
{
    float4 position				: POSITION;
	float3 normal				: NORMAL;
	float4 color		: COLOR0;
};

struct VS_OUTPUT
{
    float4 position				: POSITION;
	float3 positionW			: TEXCOORD0;
	float3 normalW				: TEXCOORD1;
	float4 color				: COLOR0;
};

// Shaders
VS_OUTPUT main(VS_INPUT In)
{
    VS_OUTPUT Out = (VS_OUTPUT)0;


    Out.position = mul(In.position, WorldViewProjection);
	Out.positionW = mul(In.position, World).xyz;
	Out.normalW = mul(In.normal, (float3x3)World);
	Out.color = In.color;

    return Out;
}
